package com.woniu113.junk.user.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniu113.junk.user.Param.AccountLogParam;
import com.woniu113.junk.user.Param.adminInfo.*;
import com.woniu113.junk.user.dto.AdminInfoDto;
import com.woniu113.junk.user.dto.FindSuitableRiderDTO;
import com.woniu113.junk.user.dto.adminInfo.AllAdminInfoDto;
import com.woniu113.junk.user.dto.adminInfo.FindAdminDTO;
import com.woniu113.junk.user.dto.adminInfo.findByStationIdDTO;
import com.woniu113.junk.user.model.AdminInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 蜡笔没了小新
 * @since 2024年10月16日
 */
public interface AdminInfoService extends IService<AdminInfo> {

    AdminInfo adminLog(AccountLogParam param) throws Exception;


    void disableAccount(Integer adminId);

    void enableAccount(Integer adminId);

    void deleteAccount(Integer adminId);

    void addAdmin(AddAdminParam param) throws Exception;

    void userCheckOldPassword(AdminPasswordParam param) throws Exception;

    void userUpdatePassword(AdminPasswordParam param) throws Exception;

    void assignRoles(AdminAssignRolesParam param);



    void editStationId(EditStationIdParam param);

    AdminInfo selectAdminById2(Integer adminId);

    void sendLoginCode(String phoneNumber) throws Exception;

    AdminInfo adminCodeLogin(AdminCodeLoginParam param) throws Exception;

    Page<AdminInfo> findByStationId(FindSuitableRiderDTO dto);

    List<AdminInfo> selectAdmin();


    AdminInfo selectAdminByAdminName(String adminName);

    List<AdminInfo> findByStation(Integer stationId);

    List<AdminInfo> findAdmin(FindAdminDTO dtos);

    AllAdminInfoDto selectAdminInfo(SelectAdminInfoParam param, Integer offset);
}
